Define __XEN_INTERFACE_VERSION__ when building Xen.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 2 Apr 2006 08:48:04 +0000 (09:48 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 2 Apr 2006 08:48:04 +0000 (09:48 +0100)
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/include/public/xen-compat.h

index 67af72b344854c762976cbeb1f353259c2ba8881..c4f235095d08cadaec8edb61a6260532c2ff5ced 100644 (file)
@@ -9,10 +9,20 @@
 #ifndef __XEN_PUBLIC_XEN_COMPAT_H__
 #define __XEN_PUBLIC_XEN_COMPAT_H__
 
-#ifndef __XEN_INTERFACE_VERSION__
+#define __XEN_LATEST_INTERFACE_VERSION__ 0x00030101
+
+#if defined(__XEN__)
+/* Xen is built with matching headers and implements the latest interface. */
+#define __XEN_INTERFACE_VERSION__ __XEN_LATEST_INTERFACE_VERSION__
+#elif !defined(__XEN_INTERFACE_VERSION__)
+/* Guests which do not specify a version get the legacy interface. */
 #define __XEN_INTERFACE_VERSION__ 0x00000000
 #endif
 
+#if __XEN_INTERFACE_VERSION__ > __XEN_LATEST_INTERFACE_VERSION__
+#error "These header files do not support the requested interface version."
+#endif
+
 #if __XEN_INTERFACE_VERSION__ < 0x00030101
 #undef __HYPERVISOR_sched_op
 #define __HYPERVISOR_sched_op __HYPERVISOR_sched_op_compat